net: davinci_emac: Round up top tx buffer boundaries for dcache ops
authorkarl beldan <[email protected]>
Mon, 15 Aug 2016 17:23:00 +0000 (17:23 +0000)
committerJoe Hershberger <[email protected]>
Mon, 22 Aug 2016 19:21:09 +0000 (14:21 -0500)
check_cache_range() warns that the top boundaries are not properly
aligned when flushing or invalidating the buffers and make these
operations fail.

This gets rid of the remaining warnings:
CACHE: Misaligned operation at range

Signed-off-by: Karl Beldan <[email protected]>
Acked-by: Joe Hershberger <[email protected]>
Reviewed-by: Tom Rini <[email protected]>
Reviewed-by: Mugunthan V N <[email protected]>
drivers/net/davinci_emac.c

index c591773660ac07eabaaa034b1a606093216f8716..187137c8b477692dec2970047d2585e93885fb78 100644 (file)
@@ -637,7 +637,7 @@ static int davinci_eth_send_packet (struct eth_device *dev,
                                      EMAC_CPPI_EOP_BIT);
 
        flush_dcache_range((unsigned long)packet,
-                       (unsigned long)packet + length);
+                          (unsigned long)packet + ALIGN(length, PKTALIGN));
 
        /* Send the packet */
        writel(BD_TO_HW((unsigned long)emac_tx_desc), &adap_emac->TX0HDP);